A bus is an interconnect subsystem, or circuit, that transfers data between different devices within an electronic circuit. A bus defines a set of rules and connections that must be observed by each device connected to the bus in order to effectively communicate via the bus. Examples of devices that may be connected to a bus can include, but are not limited to, processors, memories, and bridges to external systems, for example. Unlike a point-to-point connection, a bus can connect several peripherals over the same set of wires.
Many electronic systems include multiple buses to facilitate data transfer among multiple devices in parallel. In some systems, data may be transferred from a bus that implements one protocol to a bus that implements another, different protocol. Compatibility issues may arise from connecting buses that implement different protocols. For example, the Advanced eXtensible Interface (AXI) for the Advanced Microcontroller Bus Architecture (AMBA) supports software-controlled and hardware-enforced isolation of secure and non-secure resources that are connected to the bus. A Peripheral Component Interconnect express (PCIe) bus architecture, in contrast, does not provide similar security. With different buses having different features, connecting the buses may be problematic.